package com.bt.springboot.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 投放账户
 * </p>
 *
 * @author bleach
 * @since 2022-08-16
 */
@AllArgsConstructor
@NoArgsConstructor
@Data
@EqualsAndHashCode(callSuper = false)
public class AdsAccount implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 账户名
     */
    private String userName;

    private Integer adPlat;
    /**
     * account_id/account_sn
     */
    private String accountSn;

    /**
     * token
     */
    private String accessToken;

    /**
     * access_token失效时间
     */
    private LocalDateTime tokenExpireTime;

    /**
     * 刷新token
     */
    private String refreshToken;

    /**
     * 拓展字段
     */
    private String ext;

    /**
     * 广告商类型 广点通1/飞鱼2/
     */
    private Integer adAccountType;

    /**
     * 创建人
     */
    private Long creatorId;

    /**
     * 更新人
     */
    private Long updaterId;

    /**
     * 创建时间
     */
    private LocalDateTime createdTime;

    /**
     * 更新时间
     */
    private LocalDateTime updatedTime;

    private String creatorName;

    /**
     * 是否删除 0正常 1删除
     */
    private Integer deleted;

    /**
     * 是否开启回传 0否 1是
     */
    private Integer callbackSetStatus;

    private String rebate;

    /**
     * 代理商
     */
    private String supplier;

    private String adMerchantId;

    /**
     * 账户缩写
     */
    private String accountAbbr;
    /**
     * 框架
     */
    @TableField("frame")
    private String frame;
    /**
     * 框架
     */
    @TableField("new_frame")
    private String newFrame;

    /**
     * 开户项目id
     */
    @TableField("project_id")
    private String projectId;

    /**
     * 解析地址
     */
    @TableField("resolve_addr")
    private String resolveAddr;

    /**
     * 共享主账户
     */
    @TableField("master_account")
    private String masterAccount;

    /**
     * 转账账户组
     */
    @TableField("transfer_account_group")
    private String transferAccountGroup;

    /**
     * 账户登录名称
     */
    @TableField("account_login_name")
    private String accountLoginName;

    /**
     * 账户登录密码
     */
    @TableField("account_login_password")
    private String accountLoginPassword;

    /**
     * 域名
     */
    @TableField("domain")
    private String domain;

    /**
     * 开户资质（版权）
     */
    @TableField("copyright")
    private String copyright;

    /**
     * 是否为冲量户 0否 1是
     */
    @TableField("is_impulse")
    private String isImpulse;

    /**
     * 是否为赠款户 0否 1是
     */
    @TableField("is_grant")
    private String isGrant;

    /**
     * 开户日期
     */
    @TableField("account_open_time")
    private LocalDateTime accountOpenTime;

    /**
     * 绑定手机号/微信/QQ
     */
    @TableField("bind_phone_number")
    private String bindPhoneNumber;

    /**
     * 开户直属领导
     */
    @TableField("account_open_direct_leader")
    private String accountOpenDirectLeader;

    /**
     * 小鹿是否可绑 0否 1是
     */
    @TableField("xl_bindable")
    private String xlBindable;

    /**
     * 是否绑定小鹿
     */
    @TableField("is_bind_xl")
    private String isBindXl;

    /**
     * 通知状态 0 未发送 1已发送 2已拒绝
     */
    @TableField("notify_status")
    private Integer notifyStatus;

    /**
     * 是否启用 0 停用 1启用
     */
    @TableField("enabled")
    private String enabled;

    /**
     * 钉钉审批实例id
     */
    private String dingInstanceId;

    /**
     * 备注
     */
    private String remark;
}
